/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package herancapessoa.persistencia;

import herancapessoa.negocio.Cidade;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

/**
 *
 * @author Ricky
 */
public class CidadeDAO {
    public static void save(Session session,Cidade cidade) {
        session.saveOrUpdate(cidade);
    }
    
    public static void delete(Session session,Cidade cidade) {
        session.delete(cidade);
    }
    /**
     * Para que a consulta seja realizada é necessário inserir o id desejado em 
     * um objeto Cidade
     * @param session
     * @param cidade
     * @return 
     */
    public static Cidade searchById(Session session,Cidade cidade) {
        return (Cidade) session.get(Cidade.class, cidade.getId());
    }
    
    public static Cidade searchByName(Session session,String nome) {
        Criteria criteria = session.createCriteria(Cidade.class);
        return (Cidade) criteria.add(Restrictions.like("nome", nome)).uniqueResult();
    }    
    
    public static List<Cidade> getAll(Session session) {
        return session.createCriteria(Cidade.class).list();
    }    
}
